#ifndef lint
/*static char yysccsid[] = "from: @(#)yaccpar	1.9 (Berkeley) 02/21/93";*/
static char yyrcsid[] = "$Id: parser.c,v 1.2 2004/08/24 10:15:55 vruppert Exp $";
#endif
#define YYBYACC 1
#define YYMAJOR 1
#define YYMINOR 9
#define yyclearin (yychar=(-1))
#define yyerrok (yyerrflag=0)
#define YYRECOVERING (yyerrflag!=0)
#define yyparse bxparse
#define yylex bxlex
#define yyerror bxerror
#define yychar bxchar
#define yyval bxval
#define yylval bxlval
#define yydebug bxdebug
#define yynerrs bxnerrs
#define yyerrflag bxerrflag
#define yyss bxss
#define yyssp bxssp
#define yyvs bxvs
#define yyvsp bxvsp
#define yylhs bxlhs
#define yylen bxlen
#define yydefred bxdefred
#define yydgoto bxdgoto
#define yysindex bxsindex
#define yyrindex bxrindex
#define yygindex bxgindex
#define yytable bxtable
#define yycheck bxcheck
#define yyname bxname
#define yyrule bxrule
#define YYPREFIX "bx"
#line 6 "parser.y"
#include <stdio.h>
#include <stdlib.h>
#include "debug.h"

#if BX_DEBUGGER

/* %left '-' '+'*/
/* %left '*' '/'*/
/* %right*/
/* %nonassoc UMINUS*/
#line 19 "parser.y"
typedef union {
  char    *sval;
  Bit32u   uval;
  Bit64u   ulval;
  bx_num_range   uval_range;
  Regs     reg;
  } YYSTYPE;
#line 56 "y.tab.c"
#define BX_TOKEN_REG_AL 257
#define BX_TOKEN_REG_BL 258
#define BX_TOKEN_REG_CL 259
#define BX_TOKEN_REG_DL 260
#define BX_TOKEN_REG_AH 261
#define BX_TOKEN_REG_BH 262
#define BX_TOKEN_REG_CH 263
#define BX_TOKEN_REG_DH 264
#define BX_TOKEN_REG_AX 265
#define BX_TOKEN_REG_BX 266
#define BX_TOKEN_REG_CX 267
#define BX_TOKEN_REG_DX 268
#define BX_TOKEN_REG_EAX 269
#define BX_TOKEN_REG_EBX 270
#define BX_TOKEN_REG_ECX 271
#define BX_TOKEN_REG_EDX 272
#define BX_TOKEN_REG_SI 273
#define BX_TOKEN_REG_DI 274
#define BX_TOKEN_REG_BP 275
#define BX_TOKEN_REG_SP 276
#define BX_TOKEN_REG_IP 277
#define BX_TOKEN_REG_ESI 278
#define BX_TOKEN_REG_EDI 279
#define BX_TOKEN_REG_EBP 280
#define BX_TOKEN_REG_ESP 281
#define BX_TOKEN_REG_EIP 282
#define BX_TOKEN_CONTINUE 283
#define BX_TOKEN_STEPN 284
#define BX_TOKEN_STEP_OVER 285
#define BX_TOKEN_NEXT_STEP 286
#define BX_TOKEN_SET 287
#define BX_TOKEN_DEBUGGER 288
#define BX_TOKEN_LIST_BREAK 289
#define BX_TOKEN_VBREAKPOINT 290
#define BX_TOKEN_LBREAKPOINT 291
#define BX_TOKEN_PBREAKPOINT 292
#define BX_TOKEN_DEL_BREAKPOINT 293
#define BX_TOKEN_ENABLE_BREAKPOINT 294
#define BX_TOKEN_DISABLE_BREAKPOINT 295
#define BX_TOKEN_INFO 296
#define BX_TOKEN_QUIT 297
#define BX_TOKEN_PROGRAM 298
#define BX_TOKEN_REGISTERS 299
#define BX_TOKEN_CPU 300
#define BX_TOKEN_FPU 301
#define BX_TOKEN_ALL 302
#define BX_TOKEN_IDT 303
#define BX_TOKEN_GDT 304
#define BX_TOKEN_LDT 305
#define BX_TOKEN_TSS 306
#define BX_TOKEN_DIRTY 307
#define BX_TOKEN_LINUX 308
#define BX_TOKEN_CONTROL_REGS 309
#define BX_TOKEN_EXAMINE 310
#define BX_TOKEN_XFORMAT 311
#define BX_TOKEN_DISFORMAT 312
#define BX_TOKEN_SETPMEM 313
#define BX_TOKEN_SYMBOLNAME 314
#define BX_TOKEN_QUERY 315
#define BX_TOKEN_PENDING 316
#define BX_TOKEN_TAKE 317
#define BX_TOKEN_DMA 318
#define BX_TOKEN_IRQ 319
#define BX_TOKEN_DUMP_CPU 320
#define BX_TOKEN_SET_CPU 321
#define BX_TOKEN_DIS 322
#define BX_TOKEN_ON 323
#define BX_TOKEN_OFF 324
#define BX_TOKEN_DISASSEMBLE 325
#define BX_TOKEN_INSTRUMENT 326
#define BX_TOKEN_START 327
#define BX_TOKEN_STOP 328
#define BX_TOKEN_RESET 329
#define BX_TOKEN_PRINT 330
#define BX_TOKEN_LOADER 331
#define BX_TOKEN_STRING 332
#define BX_TOKEN_DOIT 333
#define BX_TOKEN_CRC 334
#define BX_TOKEN_TRACEON 335
#define BX_TOKEN_TRACEOFF 336
#define BX_TOKEN_PTIME 337
#define BX_TOKEN_TIMEBP_ABSOLUTE 338
#define BX_TOKEN_TIMEBP 339
#define BX_TOKEN_RECORD 340
#define BX_TOKEN_PLAYBACK 341
#define BX_TOKEN_MODEBP 342
#define BX_TOKEN_PRINT_STACK 343
#define BX_TOKEN_WATCH 344
#define BX_TOKEN_UNWATCH 345
#define BX_TOKEN_READ 346
#define BX_TOKEN_WRITE 347
#define BX_TOKEN_SHOW 348
#define BX_TOKEN_SYMBOL 349
#define BX_TOKEN_SYMBOLS 350
#define BX_TOKEN_LIST_SYMBOLS 351
#define BX_TOKEN_GLOBAL 352
#define BX_TOKEN_WHERE 353
#define BX_TOKEN_PRINT_STRING 354
#define BX_TOKEN_DIFF_MEMORY 355
#define BX_TOKEN_SYNC_MEMORY 356
#define BX_TOKEN_SYNC_CPU 357
#define BX_TOKEN_FAST_FORWARD 358
#define BX_TOKEN_PHY_2_LOG 359
#define BX_TOKEN_NUMERIC 360
#define BX_TOKEN_LONG_NUMERIC 361
#define BX_TOKEN_INFO_ADDRESS 362
#define BX_TOKEN_NE2000 363
#define BX_TOKEN_PIC 364
#define BX_TOKEN_PAGE 365
#define BX_TOKEN_CS 366
#define BX_TOKEN_ES 367
#define BX_TOKEN_SS 368
#define BX_TOKEN_DS 369
#define BX_TOKEN_FS 370
#define BX_TOKEN_GS 371
#define BX_TOKEN_FLAGS 372
#define BX_TOKEN_ALWAYS_CHECK 373
#define BX_TOKEN_TRACEREGON 374
#define BX_TOKEN_TRACEREGOFF 375
#define BX_TOKEN_HELP 376
#define BX_TOKEN_CALC 377
#define BX_TOKEN_VGA 378
#define BX_TOKEN_RSHIFT 379
#define BX_TOKEN_LSHIFT 380
#define BX_TOKEN_IVT 381
#define NOT 382
#define NEG 383
#define comamnds 384
#define YYERRCODE 256
short bxlhs[] = {                                        -1,
    0,    0,   11,   11,   11,   11,   11,   11,   11,   11,
   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   11,   11,   11,   11,   11,   11,   49,   49,   49,   49,
   49,   49,   49,   49,   49,   49,    5,    5,    5,    5,
    5,    5,   39,   39,   40,   41,   42,   42,   45,   45,
   38,   36,   37,   43,   43,   44,   44,   44,   44,   44,
   44,   44,   44,   46,   46,   46,   47,   48,   12,   13,
   13,   14,   15,   15,   15,   17,   17,   17,   17,   17,
   17,   17,   17,   19,   20,   20,   18,   18,   18,   18,
   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
   18,   18,   18,   18,   18,   18,   18,   18,    6,    6,
    8,    8,    7,    7,   21,   22,   23,   24,   25,   26,
   26,   26,   26,   27,   28,   29,   29,   29,   30,   31,
   31,   32,   32,   32,   32,   33,   34,   35,   50,   51,
   52,   52,   53,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
    2,    2,    2,    3,    3,    3,    3,    3,    3,    4,
    4,    4,    9,    9,    9,    9,    9,    9,    9,    9,
    9,    9,    9,    9,    9,    9,    9,    9,   10,   10,
   10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
   10,   10,   10,   10,   10,   10,   16,
};
short bxlen[] = {                                         2,
    2,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    0,    1,    2,    3,    3,    3,
    3,    3,    3,    5,    4,    4,    1,    1,    1,    1,
    1,    1,    3,    3,    3,    3,    3,    2,    3,    2,
    2,    2,    2,    2,    3,    3,    3,    2,    2,    4,
    4,    4,    4,    3,    4,    5,    2,    3,    2,    2,
    3,    2,    4,    4,    5,    2,    5,    2,    3,    3,
    2,    3,    4,    2,    2,    3,    3,    3,    3,    3,
    3,    3,    3,    4,    4,    4,    4,    4,    3,    3,
    3,    4,    3,    3,    5,    7,    3,    3,    0,    1,
    0,    1,    1,    2,    2,    3,    3,    3,    2,    4,
    3,    3,    2,    5,    3,    3,    4,    3,    2,    3,
    4,    3,    3,    3,    3,    3,    3,    4,    2,    2,
    3,    2,    3,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    3,    3,    3,    3,
    3,    3,    3,    3,    3,    2,    2,    3,    1,    1,
    1,    1,    1,    3,    3,    3,    3,    3,    3,    3,
    3,    3,    3,    2,    2,    3,    5,
};
short bxdefred[] = {                                      0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,   46,    0,    2,    3,    4,    5,    6,
    7,    8,    9,   10,   11,   12,   13,   14,   15,   16,
   17,   18,   19,   20,   21,   22,   23,   24,   25,   26,
   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,
   37,   38,   39,   40,   41,   42,   43,   44,   89,    0,
   90,   92,    0,    0,  104,  164,  165,  166,  167,  168,
  169,  170,  171,  172,  173,  174,  175,  176,  177,  178,
  179,  180,  181,  184,  185,  186,  182,  183,  187,  188,
  189,  193,  194,   57,   58,   59,   60,   61,   62,    0,
   96,    0,    0,  190,  191,  192,  195,  196,    0,    0,
  209,  210,    0,   98,    0,    0,  212,  213,    0,  211,
    0,  101,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  139,    0,    0,  143,    0,
    0,    0,    0,    0,  135,  149,    0,  132,    0,    0,
    0,    0,    0,    0,    0,    0,    0,   72,   73,   71,
    0,    0,    0,    0,    0,   68,    0,   74,    0,    0,
    0,    0,   78,    0,    0,   79,    0,   70,    0,    0,
    0,  105,   87,    0,   47,    0,    0,    0,    0,    0,
    0,    0,    0,  159,  160,    0,  162,    0,    1,   91,
    0,    0,    0,  207,  206,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  100,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,   99,
    0,    0,  102,  136,  137,  138,  107,  109,  110,  108,
  111,  112,    0,    0,    0,    0,  113,  120,  123,    0,
  121,    0,  124,  127,  119,  128,    0,    0,  141,    0,
  142,    0,  145,    0,  146,  148,    0,  150,    0,    0,
  152,  153,  154,  155,  156,  157,    0,   64,   63,   65,
   66,   67,   75,   77,   76,    0,    0,    0,    0,   69,
    0,   84,    0,  106,   88,   48,   49,   50,   51,   52,
   53,    0,    0,    0,  161,  163,    0,   93,   94,  208,
  201,  202,    0,    0,    0,    0,  199,  200,  205,    0,
  226,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  103,  114,  116,  117,  118,  122,    0,  115,    0,
  140,    0,  147,  151,    0,  158,   80,   82,   81,   83,
   85,    0,    0,   55,   56,   95,   97,    0,  125,  227,
  144,   86,   54,    0,  126,
};
short bxdgoto[] = {                                      55,
  144,  145,  146,  157,  158,    0,  198,  199,  149,  200,
   56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
   66,   67,   68,   69,   70,   71,   72,   73,   74,   75,
   76,   77,   78,   79,   80,   81,   82,   83,   84,   85,
   86,   87,   88,   89,   90,   91,   92,   93,   94,   95,
   96,   97,   98,
};
short bxsindex[] = {                                    -10,
   15,   -7,   17, -306,   21, 2147, 1834, 1480, -325, -280,
 -279, 1043,   58,  546, 1758, -278, -233, -307,   74,   77,
 2193, -282, -244, -266, -262,   90,   92,   94, -254, -252,
 -222, -221,    4,   -6,  147,   22,    5, -322,   30,  103,
 -241,  110, -263, -261, -237, -235, -292, -231,  117,  120,
   40, 2344,  720,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  122,
    0,    0,   72, -257,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 2479,
    0, 2479, 2479,    0,    0,    0,    0,    0,  177,  124,
    0,    0, 2344,    0, 2344, 2344,    0,    0,   -9,    0,
 2344,    0,   48,  126,  129,  131,  136,  140,  142,  143,
  145,  152, 2344, 2344, 2344, 2344,  154,  156,  158,   41,
   -8,  159,  160,  161, 2344,    0,  113, 1874,    0,   54,
 -185,  166,   -5,  169,    0,    0, 2344,    0,  170, 2220,
  173,  178,  180,  183,  184,  185, -168,    0,    0,    0,
  188,  189,  190,  191,  192,    0,  195,    0,  196,  197,
 -152, -150,    0, -149, -143,    0,  211,    0,   -4, -104,
  220,    0,    0,  221,    0,  223,  224,  233,  234,  235,
  236,  193, -253,    0,    0,  237,    0,   79,    0,    0,
 -112,  239,  240,    0,    0,  102, 2479, 2479, 2479, 2479,
 2479, 2479, 2479, 2479, 2479, 2344,    0,  198,  198,  -21,
 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344,    0,
 2344,  171,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  243,  244,  245,  247,    0,    0,    0,  248,
    0, -101,    0,    0,    0,    0,  250, 2344,    0,  194,
    0,  -99,    0,  252,    0,    0,  253,    0, 2344,  582,
    0,    0,    0,    0,    0,    0,  254,    0,    0,    0,
    0,    0,    0,    0,    0,  256,  257,  259,  260,    0,
  262,    0,  -82,    0,    0,    0,    0,    0,    0,    0,
    0,  -70,  281,  282,    0,    0,  283,    0,    0,    0,
    0,    0,  -29,  -29,  -29,  -29,    0,    0,    0,  537,
    0,  198,  198,  -19,  -19,  -19,  -19,  198,  198,  198,
  582,    0,    0,    0,    0,    0,    0,   -3,    0,  551,
    0,  284,    0,    0,  198,    0,    0,    0,    0,    0,
    0,  287,  288,    0,    0,    0,    0,  -61,    0,    0,
    0,    0,    0,  292,    0,
};
short bxrindex[] = {                                    304,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  298,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  304,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  876,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  298,  298,  298,  298,    0,    0,    0,    0,
    0,    0,    0,    0,  298,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  298,    0,    0,  299,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  118,  144,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  303,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,   11,   14,   73,  182,    0,    0,    0,    0,
    0,  422,  498, 1280, 1328, 1404, 1682,  622,  900,  926,
 2031,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1204,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,
};
short bxgindex[] = {                                      0,
    0,    0,    0,  306,  460,    0,    0, -132,  474,  945,
  261,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,
};
#define YYTABLESIZE 2850
short bxtable[] = {                                      54,
  280,  303,  101,  218,  315,  342,  409,  103,  265,  229,
  193,  194,  263,  216,  228,  104,  279,  264,  279,  371,
  277,  273,  277,  274,   99,  278,  102,  278,  279,  230,
  105,  226,  277,  273,  164,  274,  281,  278,  281,  232,
  293,  294,  295,  296,  201,  202,  203,  204,  281,  247,
  301,  197,  307,  197,  198,  197,  198,  283,  198,  236,
  237,  238,  239,  311,  317,  252,  253,  186,  197,  353,
  354,  198,  276,  134,  135,  136,  137,  138,  139,  165,
  166,  191,  192,  195,  276,  279,  196,  205,  356,  277,
  273,  279,  274,  206,  278,  277,  273,  207,  274,  208,
  278,  209,  275,  210,  197,  281,  211,  198,  212,  213,
  214,  281,  233,  203,  275,  203,  279,  203,  234,  235,
  277,  273,  240,  274,  241,  278,  244,  225,  243,  245,
  203,  250,  251,  267,  197,  284,  281,  198,  285,  265,
  286,  276,  360,  263,  259,  287,  260,  276,  264,  288,
  225,  289,  290,  224,  291,  225,  223,  225,  225,  225,
  225,  292,  225,  297,  225,  298,  203,  299,  304,  305,
  306,  275,  276,  308,  312,  313,  224,  275,  316,  318,
  382,  224,  321,  224,  224,  224,  224,  322,  224,  323,
  224,  327,  324,  325,  326,  262,  203,  328,  329,  330,
  331,  332,  275,  391,  333,  334,  335,  336,  279,  337,
  338,  225,  277,  273,  265,  274,  339,  278,  263,  259,
  340,  260,  204,  264,  204,  261,  204,  343,  281,  344,
  345,  279,  346,  347,  266,  277,  273,  224,  274,  204,
  278,  225,  348,  349,  350,  351,  355,  357,  358,  359,
  352,  281,  383,  384,  385,  281,  386,  387,  388,  389,
  392,  393,  394,  396,  276,  397,  398,  224,  399,  400,
  262,  401,    1,    2,    3,  204,    4,  402,    5,    6,
    7,    8,    9,   10,   11,   12,   13,  276,   14,  403,
  404,  405,  406,  411,  275,  408,  412,  413,  414,   15,
  261,  415,   16,   45,   17,  204,   18,  131,  133,   19,
   20,  147,  134,  249,   21,   22,    0,  275,    0,  187,
   23,    0,   24,   25,   26,   27,   28,   29,   30,   31,
   32,   33,   34,   35,   36,  215,  227,   37,   38,    0,
   39,    0,   40,   41,   42,   43,   44,   45,   46,  257,
  258,   47,  100,  217,  314,  341,  302,  271,  272,  271,
  272,  231,   48,   49,   50,   51,   52,  224,  225,  271,
  272,  246,  300,   53,  225,  225,  225,  225,  225,  225,
  225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
  225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
  224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
  224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
  224,  224,  224,  224,  224,  224,  271,  272,    0,  219,
    0,  219,  271,  272,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  147,    0,  147,  147,  225,
    0,    0,    0,    0,  219,    0,    0,  271,  272,  219,
    0,  219,  219,  219,  219,  148,  219,    0,  219,    0,
    0,    0,    0,    0,  220,  224,    0,  225,  225,    0,
  257,  258,    0,  225,  225,  225,  225,  225,  225,    0,
    0,    0,  221,  222,    0,    0,  225,  225,    0,    0,
    0,    0,    0,  224,  224,    0,  242,  220,    0,  224,
  224,  224,  224,  224,  224,  219,    0,    0,    0,    0,
    0,    0,  224,  224,    0,    0,    0,    0,    0,    0,
  220,    0,    0,    0,    0,  220,    0,  220,  220,  220,
  220,    0,  220,    0,  220,  219,  407,    0,    0,  271,
  272,    0,    0,    0,    0,  257,  258,    0,    0,    0,
  410,    0,  147,  147,  147,  147,  147,  147,  147,  147,
  147,    0,  271,  272,  279,    0,    0,    0,  277,  273,
    0,  274,    0,  278,    0,    0,    0,    0,  279,    0,
    0,  220,  277,  273,  281,  274,    0,  278,    0,  148,
    0,  148,  148,    0,    0,    0,    0,    0,  281,    0,
    0,    0,    0,  254,    0,  255,  256,    0,    0,  279,
    0,  220,    0,  277,  273,    0,  274,    0,  278,    0,
  276,  217,    0,    0,    0,    0,    0,    0,    0,  281,
    0,    0,    0,    0,  276,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  217,    0,    0,    0,    0,  217,
  275,  217,  217,  217,  217,    0,  217,    0,  217,    0,
    0,    0,    0,    0,  275,  276,    0,    0,  219,  219,
  219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
  219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
  219,  219,  219,  219,    0,  275,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  217,  148,  148,  148,  148,
  148,  148,  148,  148,  148,    0,    0,    0,    0,   54,
  361,  362,  363,  364,  365,  366,  367,  368,  369,    0,
    0,    0,    0,    0,    0,  217,    0,    0,    0,    0,
    0,    0,    0,  219,  220,  220,  220,  220,  220,  220,
  220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
  220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
    0,  219,  219,    0,    0,    0,    0,  219,  219,  219,
  219,  219,  219,    0,    0,    0,    0,    0,    0,    0,
  219,  219,  106,  107,  108,  109,  110,  111,  112,  113,
  114,  115,  116,  117,  118,  119,  120,  121,  122,  123,
  124,  125,  126,  127,  128,  129,  130,  131,    0,  220,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  220,  220,    0,
    0,    0,    0,  220,  220,  220,  220,  220,  220,    0,
    0,    0,    0,    0,    0,    0,  220,  220,  217,  217,
  217,  217,  217,  217,  217,  217,  217,  217,  217,  217,
  217,  217,  217,  217,  217,  217,  217,  217,  217,  217,
  217,  217,  217,  217,    0,    0,    0,    0,    0,  218,
    0,    0,    0,  211,    0,  271,  272,  211,  211,    0,
  211,    0,  211,    0,    0,    0,    0,    0,    0,  271,
  272,    0,  218,  211,    0,  223,    0,  218,    0,  218,
  218,  218,  218,    0,  218,    0,  218,    0,    0,    0,
    0,  159,  163,  217,    0,    0,    0,    0,  223,  190,
  271,  272,    0,  223,    0,  223,  223,  223,  223,  211,
  223,    0,  223,    0,    0,    0,    0,    0,    0,    0,
    0,  217,  217,    0,    0,    0,    0,  217,  217,  217,
  217,  217,  217,  218,    0,    0,  248,    0,    0,  211,
  217,  217,    1,    2,    3,    0,    4,    0,    5,    6,
    7,    8,    9,   10,   11,   12,   13,    0,   14,  223,
    0,    0,    0,  218,    0,    0,    0,    0,    0,   15,
    0,    0,   16,    0,   17,    0,   18,    0,    0,   19,
   20,    0,    0,    0,   21,   22,    0,    0,    0,  223,
   23,    0,   24,   25,   26,   27,   28,   29,   30,   31,
   32,   33,   34,   35,   36,    0,    0,   37,   38,    0,
   39,    0,   40,   41,   42,   43,   44,   45,   46,    0,
    0,   47,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,   48,   49,   50,   51,   52,  268,    0,  269,
  270,    0,    0,    0,    0,  282,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  310,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  320,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  218,  218,  218,  218,
  218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
  218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
  218,  218,  223,  223,  223,  223,  223,  223,  223,  223,
  223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
  223,  223,  223,  223,  223,  223,  223,  223,    0,    0,
  370,    0,    0,  216,    0,  372,  373,  374,  375,  376,
  377,  378,  379,  380,    0,  381,    0,    0,    0,    0,
    0,  218,    0,    0,    0,    0,  216,    0,    0,    0,
    0,  225,    0,  216,    0,  225,  216,    0,  216,    0,
  225,    0,  390,    0,  211,  211,    0,  223,    0,  218,
  218,    0,    0,  395,    0,  218,  218,  218,  218,  218,
  218,    0,    0,    0,    0,    0,    0,    0,  218,  218,
    0,    0,    0,    0,    0,  223,  223,    0,    0,  215,
    0,  223,  223,  223,  223,  223,  223,  216,    0,    0,
    0,    0,    0,    0,  223,  223,    0,    0,    0,    0,
    0,    0,  215,    0,    0,    0,    0,    0,    0,  215,
  215,    0,  215,    0,  215,    0,    0,  216,    0,    0,
    0,    0,    0,    0,  167,    0,    0,  216,    0,    0,
  168,  169,  170,  171,  172,  173,  174,  175,  176,  177,
  178,  179,    0,    0,    0,    0,    0,    0,    0,    0,
  216,    0,    0,    0,    0,    0,    0,  216,  216,    0,
  216,    0,  216,  215,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  180,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  215,    0,  181,  182,    0,    0,    0,
    0,    0,    0,  221,  183,    0,    0,    0,    0,    0,
  184,  216,    0,  185,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  221,    0,    0,    0,
    0,    0,    0,  221,  221,    0,  221,    0,  221,    0,
    0,  216,    0,    0,    0,    0,    0,    0,    0,    0,
  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
  216,  216,  216,  216,  216,  216,    0,    0,    0,  162,
    0,    0,    0,    0,    0,    0,    0,  221,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  155,    0,    0,    0,    0,    0,    0,  156,
    0,  161,    0,    0,  153,    0,    0,  221,    0,    0,
    0,    0,    0,    0,    0,  216,  215,  215,  215,  215,
  215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
  215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
  215,  215,    0,  216,  216,    0,    0,    0,    0,  216,
  216,  216,  216,  216,  216,    0,    0,    0,    0,    0,
    0,    0,  225,  225,  216,  216,  216,  216,  216,  216,
  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
    0,  215,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  215,
  215,    0,    0,    0,    0,  215,  215,  215,  215,  215,
  215,    0,    0,    0,    0,    0,    0,    0,    0,  216,
  221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
  221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
  221,  221,  221,  221,  221,  221,    0,  216,  216,    0,
    0,  222,    0,  216,  216,  216,  216,  216,  216,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  222,    0,    0,    0,    0,    0,
    0,  222,  222,    0,  222,    0,  222,    0,    0,    0,
    0,    0,    0,    0,    0,  221,  106,  107,  108,  109,
  110,  111,  112,  113,  114,  115,  116,  117,  118,  119,
  120,  121,  122,  123,  124,  125,  126,  127,  128,  129,
  130,  131,    0,  221,  221,    0,    0,  189,    0,  221,
  221,  221,  221,  221,  221,  222,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  155,    0,    0,    0,    0,    0,    0,  156,    0,    0,
    0,    0,  153,    0,    0,  222,    0,    0,    0,    0,
    0,  160,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  151,
  152,    0,    0,  154,    0,  134,  135,  136,  137,  138,
  139,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
    0,    0,    0,  156,    0,    0,    0,    0,  153,    0,
    0,    0,    0,  309,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
    0,    0,    0,  156,    0,    0,    0,    0,  153,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  222,  222,
  222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  222,  222,  222,  222,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  222,  106,  107,  108,  109,  110,  111,
  112,  113,  114,  115,  116,  117,  118,  119,  120,  121,
  122,  123,  124,  125,  126,  127,  128,  129,  130,  131,
  214,  222,  222,    0,    0,    0,    0,  222,  222,  222,
  222,  222,  222,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  214,    0,    0,    0,    0,  188,    0,
  214,  214,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  160,
  106,  107,  108,  109,  110,  111,  112,  113,  114,  115,
  116,  117,  118,  119,  120,  121,  122,  123,  124,  125,
  126,  127,  128,  129,  130,  131,    0,  151,  152,    0,
    0,    0,    0,  134,  135,  136,  137,  138,  139,    0,
  106,  107,  108,  109,  110,  111,  112,  113,  114,  115,
  116,  117,  118,  119,  120,  121,  122,  123,  124,  125,
  126,  127,  128,  129,  130,  131,  141,    0,    0,    0,
    0,    0,    0,    0,    0,  150,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  142,
    0,    0,    0,    0,    0,    0,  143,    0,    0,    0,
    0,  140,    0,  151,  152,    0,    0,    0,    0,  134,
  135,  136,  137,  138,  139,  160,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  155,    0,    0,    0,    0,
    0,    0,  156,  151,  152,    0,    0,  153,    0,  134,
  135,  136,  137,  138,  139,    0,    0,    0,    0,    0,
    0,    0,  155,    0,    0,    0,    0,  279,    0,  156,
    0,  277,  273,    0,  319,    0,  278,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  281,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  214,  214,  214,
  214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
  214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
  214,  214,  214,  276,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  275,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  214,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
    0,    0,    0,  156,    0,    0,    0,    0,  153,    0,
  214,  214,    0,    0,    0,    0,  214,  214,  214,  214,
  214,  214,    0,  106,  107,  108,  109,  110,  111,  112,
  113,  114,  115,  116,  117,  118,  119,  120,  121,  122,
  123,  124,  125,  126,  127,  128,  129,  130,  131,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  106,
  107,  108,  109,  110,  111,  112,  113,  114,  115,  116,
  117,  118,  119,  120,  121,  122,  123,  124,  125,  126,
  127,  128,  129,  130,  131,    0,  106,  107,  108,  109,
  110,  111,  112,  113,  114,  115,  116,  117,  118,  119,
  120,  121,  122,  123,  124,  125,  126,  127,  128,  129,
  130,  131,    0,    0,  197,    0,  132,  133,    0,    0,
    0,  142,  134,  135,  136,  137,  138,  139,  143,    0,
    0,    0,    0,  140,  160,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  160,  151,  152,    0,    0,    0,    0,  134,  135,
  136,  137,  138,  139,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  151,
  152,    0,    0,    0,    0,  134,  135,  136,  137,  138,
  139,    0,    0,    0,    0,    0,    0,    0,  271,  272,
  106,  107,  108,  109,  110,  111,  112,  113,  114,  115,
  116,  117,  118,  119,  120,  121,  122,  123,  124,  125,
  126,  127,  128,  129,  130,  131,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  160,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  151,  152,    0,    0,    0,    0,  134,
  135,  136,  137,  138,  139,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  106,  107,  108,  109,  110,
  111,  112,  113,  114,  115,  116,  117,  118,  119,  120,
  121,  122,  123,  124,  125,  126,  127,  128,  129,  130,
  131,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  132,  133,
    0,    0,    0,    0,  134,  135,  136,  137,  138,  139,
};
short bxcheck[] = {                                      10,
   10,   10,   10,   10,   10,   10,   10,  314,   38,  332,
  318,  319,   42,   10,   10,  322,   38,   47,   38,   41,
   42,   43,   42,   45,   10,   47,   10,   47,   38,  352,
   10,   10,   42,   43,  360,   45,   58,   47,   58,   10,
  173,  174,  175,  176,  327,  328,  329,  330,   58,   10,
   10,   41,  185,   43,   41,   45,   43,   10,   45,  323,
  324,  323,  324,   10,  197,  323,  324,   10,   58,  323,
  324,   58,   94,  366,  367,  368,  369,  370,  371,  360,
  360,  360,  316,   10,   94,   38,   10,  332,   10,   42,
   43,   38,   45,  360,   47,   42,   43,  360,   45,   10,
   47,   10,  124,   10,   94,   58,  361,   94,  361,  332,
  332,   58,   10,   41,  124,   43,   38,   45,  360,   10,
   42,   43,  360,   45,  360,   47,   10,   10,  360,   10,
   58,   10,   61,   10,  124,   10,   58,  124,   10,   38,
   10,   94,   41,   42,   43,   10,   45,   94,   47,   10,
   33,   10,   10,   10,   10,   38,   10,   40,   41,   42,
   43,   10,   45,   10,   47,   10,   94,   10,   10,   10,
   10,  124,   94,   61,  360,   10,   33,  124,   10,   10,
   10,   38,   10,   40,   41,   42,   43,   10,   45,   10,
   47,  360,   10,   10,   10,   94,  124,   10,   10,   10,
   10,   10,  124,   10,   10,   10,   10,  360,   38,  360,
  360,   94,   42,   43,   38,   45,  360,   47,   42,   43,
   10,   45,   41,   47,   43,  124,   45,  332,   58,   10,
   10,   38,   10,   10,   58,   42,   43,   94,   45,   58,
   47,  124,   10,   10,   10,   10,   10,  360,   10,   10,
   58,   58,   10,   10,   10,   58,   10,   10,  360,   10,
  360,   10,   10,   10,   94,   10,   10,  124,   10,   10,
   94,   10,  283,  284,  285,   94,  287,  360,  289,  290,
  291,  292,  293,  294,  295,  296,  297,   94,  299,  360,
   10,   10,   10,   10,  124,  299,   10,   10,  360,  310,
  124,   10,  313,    0,  315,  124,  317,   10,   10,  320,
  321,    6,   10,   53,  325,  326,   -1,  124,   -1,   14,
  331,   -1,  333,  334,  335,  336,  337,  338,  339,  340,
  341,  342,  343,  344,  345,  332,  332,  348,  349,   -1,
  351,   -1,  353,  354,  355,  356,  357,  358,  359,  379,
  380,  362,  360,  360,  360,  360,  365,  379,  380,  379,
  380,  332,  373,  374,  375,  376,  377,  346,  347,  379,
  380,  332,  332,  384,  257,  258,  259,  260,  261,  262,
  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,  379,  380,   -1,  283,
   -1,   10,  379,  380,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  140,   -1,  142,  143,  332,
   -1,   -1,   -1,   -1,   33,   -1,   -1,  379,  380,   38,
   -1,   40,   41,   42,   43,    6,   45,   -1,   47,   -1,
   -1,   -1,   -1,   -1,  328,  332,   -1,  360,  361,   -1,
  379,  380,   -1,  366,  367,  368,  369,  370,  371,   -1,
   -1,   -1,  346,  347,   -1,   -1,  379,  380,   -1,   -1,
   -1,   -1,   -1,  360,  361,   -1,   47,   10,   -1,  366,
  367,  368,  369,  370,  371,   94,   -1,   -1,   -1,   -1,
   -1,   -1,  379,  380,   -1,   -1,   -1,   -1,   -1,   -1,
   33,   -1,   -1,   -1,   -1,   38,   -1,   40,   41,   42,
   43,   -1,   45,   -1,   47,  124,   10,   -1,   -1,  379,
  380,   -1,   -1,   -1,   -1,  379,  380,   -1,   -1,   -1,
   10,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  265,   -1,  379,  380,   38,   -1,   -1,   -1,   42,   43,
   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,   38,   -1,
   -1,   94,   42,   43,   58,   45,   -1,   47,   -1,  140,
   -1,  142,  143,   -1,   -1,   -1,   -1,   -1,   58,   -1,
   -1,   -1,   -1,  140,   -1,  142,  143,   -1,   -1,   38,
   -1,  124,   -1,   42,   43,   -1,   45,   -1,   47,   -1,
   94,   10,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   38,
  124,   40,   41,   42,   43,   -1,   45,   -1,   47,   -1,
   -1,   -1,   -1,   -1,  124,   94,   -1,   -1,  257,  258,
  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,
  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,   -1,  124,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   94,  257,  258,  259,  260,
  261,  262,  263,  264,  265,   -1,   -1,   -1,   -1,   10,
  257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  332,  257,  258,  259,  260,  261,  262,
  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
   -1,  360,  361,   -1,   -1,   -1,   -1,  366,  367,  368,
  369,  370,  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  379,  380,  257,  258,  259,  260,  261,  262,  263,  264,
  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  275,  276,  277,  278,  279,  280,  281,  282,   -1,  332,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,  361,   -1,
   -1,   -1,   -1,  366,  367,  368,  369,  370,  371,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  379,  380,  257,  258,
  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,
  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,   -1,   -1,   -1,   -1,   -1,   10,
   -1,   -1,   -1,   38,   -1,  379,  380,   42,   43,   -1,
   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,  379,
  380,   -1,   33,   58,   -1,   10,   -1,   38,   -1,   40,
   41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
   -1,    7,    8,  332,   -1,   -1,   -1,   -1,   33,   15,
  379,  380,   -1,   38,   -1,   40,   41,   42,   43,   94,
   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  360,  361,   -1,   -1,   -1,   -1,  366,  367,  368,
  369,  370,  371,   94,   -1,   -1,   52,   -1,   -1,  124,
  379,  380,  283,  284,  285,   -1,  287,   -1,  289,  290,
  291,  292,  293,  294,  295,  296,  297,   -1,  299,   94,
   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,  310,
   -1,   -1,  313,   -1,  315,   -1,  317,   -1,   -1,  320,
  321,   -1,   -1,   -1,  325,  326,   -1,   -1,   -1,  124,
  331,   -1,  333,  334,  335,  336,  337,  338,  339,  340,
  341,  342,  343,  344,  345,   -1,   -1,  348,  349,   -1,
  351,   -1,  353,  354,  355,  356,  357,  358,  359,   -1,
   -1,  362,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  373,  374,  375,  376,  377,  153,   -1,  155,
  156,   -1,   -1,   -1,   -1,  161,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  188,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  200,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,  257,  258,  259,  260,  261,  262,  263,  264,
  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  275,  276,  277,  278,  279,  280,  281,  282,   -1,   -1,
  266,   -1,   -1,   10,   -1,  271,  272,  273,  274,  275,
  276,  277,  278,  279,   -1,  281,   -1,   -1,   -1,   -1,
   -1,  332,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   38,   -1,   40,   -1,   42,   43,   -1,   45,   -1,
   47,   -1,  308,   -1,  379,  380,   -1,  332,   -1,  360,
  361,   -1,   -1,  319,   -1,  366,  367,  368,  369,  370,
  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  379,  380,
   -1,   -1,   -1,   -1,   -1,  360,  361,   -1,   -1,   10,
   -1,  366,  367,  368,  369,  370,  371,   94,   -1,   -1,
   -1,   -1,   -1,   -1,  379,  380,   -1,   -1,   -1,   -1,
   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
   41,   -1,   43,   -1,   45,   -1,   -1,  124,   -1,   -1,
   -1,   -1,   -1,   -1,  292,   -1,   -1,   10,   -1,   -1,
  298,  299,  300,  301,  302,  303,  304,  305,  306,  307,
  308,  309,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,
   43,   -1,   45,   94,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  350,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  124,   -1,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   10,  372,   -1,   -1,   -1,   -1,   -1,
  378,   94,   -1,  381,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,
   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,   -1,   -1,   -1,   10,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
   -1,   42,   -1,   -1,   45,   -1,   -1,  124,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  332,  257,  258,  259,  260,
  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,   -1,  360,  361,   -1,   -1,   -1,   -1,  366,
  367,  368,  369,  370,  371,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  379,  380,  257,  258,  259,  260,  261,  262,
  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
   -1,  332,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,
  361,   -1,   -1,   -1,   -1,  366,  367,  368,  369,  370,
  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  332,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,   -1,  360,  361,   -1,
   -1,   10,   -1,  366,  367,  368,  369,  370,  371,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
   -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  332,  257,  258,  259,  260,
  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,   -1,  360,  361,   -1,   -1,   10,   -1,  366,
  367,  368,  369,  370,  371,   94,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
   -1,   -1,   45,   -1,   -1,  124,   -1,   -1,   -1,   -1,
   -1,  332,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,
  361,   -1,   -1,   10,   -1,  366,  367,  368,  369,  370,
  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,   -1,
   -1,   -1,   -1,   10,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,
  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  332,  257,  258,  259,  260,  261,  262,
  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
   10,  360,  361,   -1,   -1,   -1,   -1,  366,  367,  368,
  369,  370,  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,  311,   -1,
   40,   41,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  332,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,   -1,  360,  361,   -1,
   -1,   -1,   -1,  366,  367,  368,  369,  370,  371,   -1,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,   10,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  332,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,
   -1,   45,   -1,  360,  361,   -1,   -1,   -1,   -1,  366,
  367,  368,  369,  370,  371,  332,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,
   -1,   -1,   40,  360,  361,   -1,   -1,   45,   -1,  366,
  367,  368,  369,  370,  371,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   33,   -1,   -1,   -1,   -1,   38,   -1,   40,
   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
  260,  261,  262,  263,  264,  265,  266,  267,  268,  269,
  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,
  280,  281,  282,   94,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  332,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,   -1,
  360,  361,   -1,   -1,   -1,   -1,  366,  367,  368,  369,
  370,  371,   -1,  257,  258,  259,  260,  261,  262,  263,
  264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
  274,  275,  276,  277,  278,  279,  280,  281,  282,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
  258,  259,  260,  261,  262,  263,  264,  265,  266,  267,
  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,
  278,  279,  280,  281,  282,   -1,  257,  258,  259,  260,
  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,   -1,   -1,  312,   -1,  360,  361,   -1,   -1,
   -1,   33,  366,  367,  368,  369,  370,  371,   40,   -1,
   -1,   -1,   -1,   45,  332,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  332,  360,  361,   -1,   -1,   -1,   -1,  366,  367,
  368,  369,  370,  371,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,
  361,   -1,   -1,   -1,   -1,  366,  367,  368,  369,  370,
  371,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  379,  380,
  257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  332,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  360,  361,   -1,   -1,   -1,   -1,  366,
  367,  368,  369,  370,  371,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,
  262,  263,  264,  265,  266,  267,  268,  269,  270,  271,
  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,
  282,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,  361,
   -1,   -1,   -1,   -1,  366,  367,  368,  369,  370,  371,
};
#define YYFINAL 55
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
#define YYMAXTOKEN 384
#if YYDEBUG
char *bxname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,"'!'",0,0,0,0,"'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,
0,0,0,"':'",0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,"'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,"BX_TOKEN_REG_AL","BX_TOKEN_REG_BL","BX_TOKEN_REG_CL",
"BX_TOKEN_REG_DL","BX_TOKEN_REG_AH","BX_TOKEN_REG_BH","BX_TOKEN_REG_CH",
"BX_TOKEN_REG_DH","BX_TOKEN_REG_AX","BX_TOKEN_REG_BX","BX_TOKEN_REG_CX",
"BX_TOKEN_REG_DX","BX_TOKEN_REG_EAX","BX_TOKEN_REG_EBX","BX_TOKEN_REG_ECX",
"BX_TOKEN_REG_EDX","BX_TOKEN_REG_SI","BX_TOKEN_REG_DI","BX_TOKEN_REG_BP",
"BX_TOKEN_REG_SP","BX_TOKEN_REG_IP","BX_TOKEN_REG_ESI","BX_TOKEN_REG_EDI",
"BX_TOKEN_REG_EBP","BX_TOKEN_REG_ESP","BX_TOKEN_REG_EIP","BX_TOKEN_CONTINUE",
"BX_TOKEN_STEPN","BX_TOKEN_STEP_OVER","BX_TOKEN_NEXT_STEP","BX_TOKEN_SET",
"BX_TOKEN_DEBUGGER","BX_TOKEN_LIST_BREAK","BX_TOKEN_VBREAKPOINT",
"BX_TOKEN_LBREAKPOINT","BX_TOKEN_PBREAKPOINT","BX_TOKEN_DEL_BREAKPOINT",
"BX_TOKEN_ENABLE_BREAKPOINT","BX_TOKEN_DISABLE_BREAKPOINT","BX_TOKEN_INFO",
"BX_TOKEN_QUIT","BX_TOKEN_PROGRAM","BX_TOKEN_REGISTERS","BX_TOKEN_CPU",
"BX_TOKEN_FPU","BX_TOKEN_ALL","BX_TOKEN_IDT","BX_TOKEN_GDT","BX_TOKEN_LDT",
"BX_TOKEN_TSS","BX_TOKEN_DIRTY","BX_TOKEN_LINUX","BX_TOKEN_CONTROL_REGS",
"BX_TOKEN_EXAMINE","BX_TOKEN_XFORMAT","BX_TOKEN_DISFORMAT","BX_TOKEN_SETPMEM",
"BX_TOKEN_SYMBOLNAME","BX_TOKEN_QUERY","BX_TOKEN_PENDING","BX_TOKEN_TAKE",
"BX_TOKEN_DMA","BX_TOKEN_IRQ","BX_TOKEN_DUMP_CPU","BX_TOKEN_SET_CPU",
"BX_TOKEN_DIS","BX_TOKEN_ON","BX_TOKEN_OFF","BX_TOKEN_DISASSEMBLE",
"BX_TOKEN_INSTRUMENT","BX_TOKEN_START","BX_TOKEN_STOP","BX_TOKEN_RESET",
"BX_TOKEN_PRINT","BX_TOKEN_LOADER","BX_TOKEN_STRING","BX_TOKEN_DOIT",
"BX_TOKEN_CRC","BX_TOKEN_TRACEON","BX_TOKEN_TRACEOFF","BX_TOKEN_PTIME",
"BX_TOKEN_TIMEBP_ABSOLUTE","BX_TOKEN_TIMEBP","BX_TOKEN_RECORD",
"BX_TOKEN_PLAYBACK","BX_TOKEN_MODEBP","BX_TOKEN_PRINT_STACK","BX_TOKEN_WATCH",
"BX_TOKEN_UNWATCH","BX_TOKEN_READ","BX_TOKEN_WRITE","BX_TOKEN_SHOW",
"BX_TOKEN_SYMBOL","BX_TOKEN_SYMBOLS","BX_TOKEN_LIST_SYMBOLS","BX_TOKEN_GLOBAL",
"BX_TOKEN_WHERE","BX_TOKEN_PRINT_STRING","BX_TOKEN_DIFF_MEMORY",
"BX_TOKEN_SYNC_MEMORY","BX_TOKEN_SYNC_CPU","BX_TOKEN_FAST_FORWARD",
"BX_TOKEN_PHY_2_LOG","BX_TOKEN_NUMERIC","BX_TOKEN_LONG_NUMERIC",
"BX_TOKEN_INFO_ADDRESS","BX_TOKEN_NE2000","BX_TOKEN_PIC","BX_TOKEN_PAGE",
"BX_TOKEN_CS","BX_TOKEN_ES","BX_TOKEN_SS","BX_TOKEN_DS","BX_TOKEN_FS",
"BX_TOKEN_GS","BX_TOKEN_FLAGS","BX_TOKEN_ALWAYS_CHECK","BX_TOKEN_TRACEREGON",
"BX_TOKEN_TRACEREGOFF","BX_TOKEN_HELP","BX_TOKEN_CALC","BX_TOKEN_VGA",
"BX_TOKEN_RSHIFT","BX_TOKEN_LSHIFT","BX_TOKEN_IVT","NOT","NEG","comamnds",
};
char *bxrule[] = {
"$accept : commands",
"commands : comamnds command",
"commands : command",
"command : continue_command",
"command : stepN_command",
"command : step_over_command",
"command : set_command",
"command : set_reg_command",
"command : breakpoint_command",
"command : info_command",
"command : blist_command",
"command : slist_command",
"command : dump_cpu_command",
"command : delete_command",
"command : bpe_command",
"command : bpd_command",
"command : quit_command",
"command : examine_command",
"command : setpmem_command",
"command : query_command",
"command : take_command",
"command : set_cpu_command",
"command : disassemble_command",
"command : instrument_command",
"command : loader_command",
"command : doit_command",
"command : crc_command",
"command : trace_on_command",
"command : trace_off_command",
"command : ptime_command",
"command : timebp_command",
"command : record_command",
"command : playback_command",
"command : modebp_command",
"command : print_stack_command",
"command : watch_point_command",
"command : show_command",
"command : symbol_command",
"command : where_command",
"command : print_string_command",
"command : cosim_commands",
"command : trace_reg_on_command",
"command : trace_reg_off_command",
"command : help_command",
"command : calc_command",
"command :",
"command : '\\n'",
"cosim_commands : BX_TOKEN_DIFF_MEMORY '\\n'",
"cosim_commands : BX_TOKEN_SYNC_MEMORY BX_TOKEN_ON '\\n'",
"cosim_commands : BX_TOKEN_SYNC_MEMORY BX_TOKEN_OFF '\\n'",
"cosim_commands : BX_TOKEN_SYNC_CPU BX_TOKEN_ON '\\n'",
"cosim_commands : BX_TOKEN_SYNC_CPU BX_TOKEN_OFF '\\n'",
"cosim_commands : BX_TOKEN_FAST_FORWARD BX_TOKEN_NUMERIC '\\n'",
"cosim_commands : BX_TOKEN_PHY_2_LOG BX_TOKEN_NUMERIC '\\n'",
"cosim_commands : BX_TOKEN_INFO_ADDRESS segment_register ':' BX_TOKEN_NUMERIC '\\n'",
"cosim_commands : BX_TOKEN_ALWAYS_CHECK BX_TOKEN_NUMERIC BX_TOKEN_ON '\\n'",
"cosim_commands : BX_TOKEN_ALWAYS_CHECK BX_TOKEN_NUMERIC BX_TOKEN_OFF '\\n'",
"segment_register : BX_TOKEN_CS",
"segment_register : BX_TOKEN_ES",
"segment_register : BX_TOKEN_SS",
"segment_register : BX_TOKEN_DS",
"segment_register : BX_TOKEN_FS",
"segment_register : BX_TOKEN_GS",
"timebp_command : BX_TOKEN_TIMEBP BX_TOKEN_LONG_NUMERIC '\\n'",
"timebp_command : BX_TOKEN_TIMEBP_ABSOLUTE BX_TOKEN_LONG_NUMERIC '\\n'",
"record_command : BX_TOKEN_RECORD BX_TOKEN_STRING '\\n'",
"playback_command : BX_TOKEN_PLAYBACK BX_TOKEN_STRING '\\n'",
"modebp_command : BX_TOKEN_MODEBP BX_TOKEN_STRING '\\n'",
"modebp_command : BX_TOKEN_MODEBP '\\n'",
"show_command : BX_TOKEN_SHOW BX_TOKEN_STRING '\\n'",
"show_command : BX_TOKEN_SHOW '\\n'",
"ptime_command : BX_TOKEN_PTIME '\\n'",
"trace_on_command : BX_TOKEN_TRACEON '\\n'",
"trace_off_command : BX_TOKEN_TRACEOFF '\\n'",
"print_stack_command : BX_TOKEN_PRINT_STACK '\\n'",
"print_stack_command : BX_TOKEN_PRINT_STACK BX_TOKEN_NUMERIC '\\n'",
"watch_point_command : BX_TOKEN_WATCH BX_TOKEN_STOP '\\n'",
"watch_point_command : BX_TOKEN_WATCH BX_TOKEN_CONTINUE '\\n'",
"watch_point_command : BX_TOKEN_WATCH '\\n'",
"watch_point_command : BX_TOKEN_UNWATCH '\\n'",
"watch_point_command : BX_TOKEN_WATCH BX_TOKEN_READ BX_TOKEN_NUMERIC '\\n'",
"watch_point_command : BX_TOKEN_UNWATCH BX_TOKEN_READ BX_TOKEN_NUMERIC '\\n'",
"watch_point_command : BX_TOKEN_WATCH BX_TOKEN_WRITE BX_TOKEN_NUMERIC '\\n'",
"watch_point_command : BX_TOKEN_UNWATCH BX_TOKEN_WRITE BX_TOKEN_NUMERIC '\\n'",
"symbol_command : BX_TOKEN_SYMBOL BX_TOKEN_STRING '\\n'",
"symbol_command : BX_TOKEN_SYMBOL BX_TOKEN_STRING BX_TOKEN_NUMERIC '\\n'",
"symbol_command : BX_TOKEN_SYMBOL BX_TOKEN_GLOBAL BX_TOKEN_STRING BX_TOKEN_NUMERIC '\\n'",
"where_command : BX_TOKEN_WHERE '\\n'",
"print_string_command : BX_TOKEN_PRINT_STRING BX_TOKEN_NUMERIC '\\n'",
"continue_command : BX_TOKEN_CONTINUE '\\n'",
"stepN_command : BX_TOKEN_STEPN '\\n'",
"stepN_command : BX_TOKEN_STEPN BX_TOKEN_NUMERIC '\\n'",
"step_over_command : BX_TOKEN_STEP_OVER '\\n'",
"set_command : BX_TOKEN_SET BX_TOKEN_DIS BX_TOKEN_ON '\\n'",
"set_command : BX_TOKEN_SET BX_TOKEN_DIS BX_TOKEN_OFF '\\n'",
"set_command : BX_TOKEN_SET BX_TOKEN_SYMBOLNAME '=' BX_TOKEN_NUMERIC '\\n'",
"breakpoint_command : BX_TOKEN_VBREAKPOINT '\\n'",
"breakpoint_command : BX_TOKEN_VBREAKPOINT vexpression ':' expression '\\n'",
"breakpoint_command : BX_TOKEN_LBREAKPOINT '\\n'",
"breakpoint_command : BX_TOKEN_LBREAKPOINT expression '\\n'",
"breakpoint_command : BX_TOKEN_LBREAKPOINT BX_TOKEN_STRING '\\n'",
"breakpoint_command : BX_TOKEN_PBREAKPOINT '\\n'",
"breakpoint_command : BX_TOKEN_PBREAKPOINT expression '\\n'",
"breakpoint_command : BX_TOKEN_PBREAKPOINT '*' expression '\\n'",
"blist_command : BX_TOKEN_LIST_BREAK '\\n'",
"slist_command : BX_TOKEN_LIST_SYMBOLS '\\n'",
"slist_command : BX_TOKEN_LIST_SYMBOLS BX_TOKEN_STRING '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_PBREAKPOINT '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_CPU '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_PROGRAM '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_REGISTERS '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_FPU '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_ALL '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_DIRTY '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_IDT optional_numeric_range '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_IVT optional_numeric_range '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_GDT optional_numeric_range '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_LDT optional_numeric_range '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_TSS optional_numeric_range '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_FLAGS '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_LINUX '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_SYMBOLS '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_SYMBOLS BX_TOKEN_STRING '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_CONTROL_REGS '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_NE2000 '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_NE2000 BX_TOKEN_PAGE BX_TOKEN_NUMERIC '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_NE2000 BX_TOKEN_PAGE BX_TOKEN_NUMERIC BX_TOKEN_REGISTERS BX_TOKEN_NUMERIC '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_PIC '\\n'",
"info_command : BX_TOKEN_INFO BX_TOKEN_VGA '\\n'",
"optional_numeric :",
"optional_numeric : BX_TOKEN_NUMERIC",
"optional_numeric_range :",
"optional_numeric_range : numeric_range",
"numeric_range : expression",
"numeric_range : expression expression",
"dump_cpu_command : BX_TOKEN_DUMP_CPU '\\n'",
"delete_command : BX_TOKEN_DEL_BREAKPOINT BX_TOKEN_NUMERIC '\\n'",
"bpe_command : BX_TOKEN_ENABLE_BREAKPOINT BX_TOKEN_NUMERIC '\\n'",
"bpd_command : BX_TOKEN_DISABLE_BREAKPOINT BX_TOKEN_NUMERIC '\\n'",
"quit_command : BX_TOKEN_QUIT '\\n'",
"examine_command : BX_TOKEN_EXAMINE BX_TOKEN_XFORMAT expression '\\n'",
"examine_command : BX_TOKEN_EXAMINE BX_TOKEN_XFORMAT '\\n'",
"examine_command : BX_TOKEN_EXAMINE expression '\\n'",
"examine_command : BX_TOKEN_EXAMINE '\\n'",
"setpmem_command : BX_TOKEN_SETPMEM BX_TOKEN_NUMERIC BX_TOKEN_NUMERIC BX_TOKEN_NUMERIC '\\n'",
"query_command : BX_TOKEN_QUERY BX_TOKEN_PENDING '\\n'",
"take_command : BX_TOKEN_TAKE BX_TOKEN_DMA '\\n'",
"take_command : BX_TOKEN_TAKE BX_TOKEN_DMA BX_TOKEN_NUMERIC '\\n'",
"take_command : BX_TOKEN_TAKE BX_TOKEN_IRQ '\\n'",
"set_cpu_command : BX_TOKEN_SET_CPU '\\n'",
"disassemble_command : BX_TOKEN_DISASSEMBLE optional_numeric_range '\\n'",
"disassemble_command : BX_TOKEN_DISASSEMBLE BX_TOKEN_DISFORMAT optional_numeric_range '\\n'",
"instrument_command : BX_TOKEN_INSTRUMENT BX_TOKEN_START '\\n'",
"instrument_command : BX_TOKEN_INSTRUMENT BX_TOKEN_STOP '\\n'",
"instrument_command : BX_TOKEN_INSTRUMENT BX_TOKEN_RESET '\\n'",
"instrument_command : BX_TOKEN_INSTRUMENT BX_TOKEN_PRINT '\\n'",
"loader_command : BX_TOKEN_LOADER BX_TOKEN_STRING '\\n'",
"doit_command : BX_TOKEN_DOIT BX_TOKEN_NUMERIC '\\n'",
"crc_command : BX_TOKEN_CRC BX_TOKEN_NUMERIC BX_TOKEN_NUMERIC '\\n'",
"trace_reg_on_command : BX_TOKEN_TRACEREGON '\\n'",
"trace_reg_off_command : BX_TOKEN_TRACEREGOFF '\\n'",
"help_command : BX_TOKEN_HELP BX_TOKEN_STRING '\\n'",
"help_command : BX_TOKEN_HELP '\\n'",
"calc_command : BX_TOKEN_CALC expression '\\n'",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_AL",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_BL",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_CL",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_DL",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_AH",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_BH",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_CH",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_DH",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_AX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_BX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_CX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_DX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_EAX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_EBX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_ECX",
"BX_TOKEN_COMMON_REG : BX_TOKEN_REG_EDX",
"BX_TOKEN_INDEX_REG : BX_TOKEN_REG_SI",
"BX_TOKEN_INDEX_REG : BX_TOKEN_REG_DI",
"BX_TOKEN_INDEX_REG : BX_TOKEN_REG_ESI",
"BX_TOKEN_INDEX_REG : BX_TOKEN_REG_EDI",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_BP",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_SP",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_IP",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_EBP",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_ESP",
"BX_TOKEN_PTR_REG : BX_TOKEN_REG_EIP",
"BX_TOKEN_NONSEG_REG : BX_TOKEN_COMMON_REG",
"BX_TOKEN_NONSEG_REG : BX_TOKEN_INDEX_REG",
"BX_TOKEN_NONSEG_REG : BX_TOKEN_PTR_REG",
"vexpression : BX_TOKEN_NUMERIC",
"vexpression : BX_TOKEN_LONG_NUMERIC",
"vexpression : BX_TOKEN_NONSEG_REG",
"vexpression : segment_register",
"vexpression : vexpression '+' vexpression",
"vexpression : vexpression '-' vexpression",
"vexpression : vexpression '*' vexpression",
"vexpression : vexpression '/' vexpression",
"vexpression : vexpression BX_TOKEN_RSHIFT vexpression",
"vexpression : vexpression BX_TOKEN_LSHIFT vexpression",
"vexpression : vexpression '|' vexpression",
"vexpression : vexpression '^' vexpression",
"vexpression : vexpression '&' vexpression",
"vexpression : '!' vexpression",
"vexpression : '-' vexpression",
"vexpression : '(' vexpression ')'",
"expression : BX_TOKEN_NUMERIC",
"expression : BX_TOKEN_LONG_NUMERIC",
"expression : BX_TOKEN_STRING",
"expression : BX_TOKEN_NONSEG_REG",
"expression : segment_register",
"expression : expression ':' expression",
"expression : expression '+' expression",
"expression : expression '-' expression",
"expression : expression '*' expression",
"expression : expression '/' expression",
"expression : expression BX_TOKEN_RSHIFT expression",
"expression : expression BX_TOKEN_LSHIFT expression",
"expression : expression '|' expression",
"expression : expression '^' expression",
"expression : expression '&' expression",
"expression : '!' expression",
"expression : '-' expression",
"expression : '(' expression ')'",
"set_reg_command : BX_TOKEN_REGISTERS BX_TOKEN_NONSEG_REG '=' expression '\\n'",
};
#endif
#ifdef YYSTACKSIZE
#undef YYMAXDEPTH
#define YYMAXDEPTH YYSTACKSIZE
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
#define YYSTACKSIZE 500
#define YYMAXDEPTH 500
#endif
#endif
int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
short *yyssp;
YYSTYPE *yyvsp;
YYSTYPE yyval;
YYSTYPE yylval;
short yyss[YYSTACKSIZE];
YYSTYPE yyvs[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
#define YYABORT goto yyabort
#define YYREJECT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
int
#if defined(__STDC__)
yyparse(void)
#else
yyparse()
#endif
{
    register int yym, yyn, yystate;
#if YYDEBUG
    register char *yys;
    extern char *getenv();

    if (yys = getenv("YYDEBUG"))
    {
        yyn = *yys;
        if (yyn >= '0' && yyn <= '9')
            yydebug = yyn - '0';
    }
#endif

    yynerrs = 0;
    yyerrflag = 0;
    yychar = (-1);

    yyssp = yyss;
    yyvsp = yyvs;
    *yyssp = yystate = 0;

yyloop:
    if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
    if (yychar < 0)
    {
        if ((yychar = yylex()) < 0) yychar = 0;
#if YYDEBUG
        if (yydebug)
        {
            yys = 0;
            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
            if (!yys) yys = "illegal-symbol";
            printf("%sdebug: state %d, reading %d (%s)\n",
                    YYPREFIX, yystate, yychar, yys);
        }
#endif
    }
    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
    {
#if YYDEBUG
        if (yydebug)
            printf("%sdebug: state %d, shifting to state %d\n",
                    YYPREFIX, yystate, yytable[yyn]);
#endif
        if (yyssp >= yyss + yystacksize - 1)
        {
            goto yyoverflow;
        }
        *++yyssp = yystate = yytable[yyn];
        *++yyvsp = yylval;
        yychar = (-1);
        if (yyerrflag > 0)  --yyerrflag;
        goto yyloop;
    }
    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
    {
        yyn = yytable[yyn];
        goto yyreduce;
    }
    if (yyerrflag) goto yyinrecovery;
    yyerror("syntax error");
#ifdef lint
    goto yyerrlab;
#endif
yyerrlab:
    ++yynerrs;
yyinrecovery:
    if (yyerrflag < 3)
    {
        yyerrflag = 3;
        for (;;)
        {
            if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
                    yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
            {
#if YYDEBUG
                if (yydebug)
                    printf("%sdebug: state %d, error recovery shifting\
 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
#endif
                if (yyssp >= yyss + yystacksize - 1)
                {
                    goto yyoverflow;
                }
                *++yyssp = yystate = yytable[yyn];
                *++yyvsp = yylval;
                goto yyloop;
            }
            else
            {
#if YYDEBUG
                if (yydebug)
                    printf("%sdebug: error recovery discarding state %d\n",
                            YYPREFIX, *yyssp);
#endif
                if (yyssp <= yyss) goto yyabort;
                --yyssp;
                --yyvsp;
            }
        }
    }
    else
    {
        if (yychar == 0) goto yyabort;
#if YYDEBUG
        if (yydebug)
        {
            yys = 0;
            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
            if (!yys) yys = "illegal-symbol";
            printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
                    YYPREFIX, yystate, yychar, yys);
        }
#endif
        yychar = (-1);
        goto yyloop;
    }
yyreduce:
#if YYDEBUG
    if (yydebug)
        printf("%sdebug: state %d, reducing by rule %d (%s)\n",
                YYPREFIX, yystate, yyn, yyrule[yyn]);
#endif
    yym = yylen[yyn];
    yyval = yyvsp[1-yym];
    switch (yyn)
    {
case 46:
#line 221 "parser.y"
{
      }
break;
case 47:
#line 227 "parser.y"
{
		bx_dbg_diff_memory();
		free(yyvsp[-1].sval);
	}
break;
case 48:
#line 232 "parser.y"
{
		bx_dbg_sync_memory(1);
		free(yyvsp[-2].sval); free(yyvsp[-1].sval);
	}
break;
case 49:
#line 237 "parser.y"
{
		bx_dbg_sync_memory(0);
		free(yyvsp[-2].sval); free(yyvsp[-1].sval);
	}
break;
case 50:
#line 242 "parser.y"
{
		bx_dbg_sync_cpu(1);
		free(yyvsp[-2].sval); free(yyvsp[-1].sval);
	}
break;
case 51:
#line 247 "parser.y"
{
		bx_dbg_sync_cpu(0);
		free(yyvsp[-2].sval); free(yyvsp[-1].sval);
	}
break;
case 52:
#line 252 "parser.y"
{
		free(yyvsp[-2].sval);
		bx_dbg_fast_forward(yyvsp[-1].uval);
	}
break;
case 53:
#line 257 "parser.y"
{
	}
break;
case 54:
#line 260 "parser.y"
{
		free(yyvsp[-4].sval);
		bx_dbg_info_address(yyvsp[-3].uval, yyvsp[-1].uval);
        }
break;
case 55:
#line 265 "parser.y"
{
        }
break;
case 56:
#line 268 "parser.y"
{
        }
break;
case 57:
#line 273 "parser.y"
{ yyval.uval = 1; }
break;
case 58:
#line 274 "parser.y"
{ yyval.uval = 0; }
break;
case 59:
#line 275 "parser.y"
{ yyval.uval = 2; }
break;
case 60:
#line 276 "parser.y"
{ yyval.uval = 3; }
break;
case 61:
#line 277 "parser.y"
{ yyval.uval = 4; }
break;
case 62:
#line 278 "parser.y"
{ yyval.uval = 5; }
break;
case 63:
#line 283 "parser.y"
{
        bx_dbg_timebp_command(0, yyvsp[-1].ulval);
	free(yyvsp[-2].sval);
	}
break;
case 64:
#line 288 "parser.y"
{
        bx_dbg_timebp_command(1, yyvsp[-1].ulval);
	free(yyvsp[-2].sval);
	}
break;
case 65:
#line 296 "parser.y"
{
          bx_dbg_record_command(yyvsp[-1].sval);
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 66:
#line 304 "parser.y"
{
          bx_dbg_playback_command(yyvsp[-1].sval);
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 67:
#line 312 "parser.y"
{
          bx_dbg_modebp_command(yyvsp[-1].sval);
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 68:
#line 317 "parser.y"
{
          bx_dbg_modebp_command(0);
          free(yyvsp[-1].sval);
          }
break;
case 69:
#line 325 "parser.y"
{
          bx_dbg_show_command(yyvsp[-1].sval);
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 70:
#line 330 "parser.y"
{
          bx_dbg_show_command(0);
          free(yyvsp[-1].sval);
          }
break;
case 71:
#line 338 "parser.y"
{
        bx_dbg_ptime_command();
        free(yyvsp[-1].sval);
	}
break;
case 72:
#line 346 "parser.y"
{
        bx_dbg_trace_on_command();
        free(yyvsp[-1].sval);
	}
break;
case 73:
#line 354 "parser.y"
{
        bx_dbg_trace_off_command();
        free(yyvsp[-1].sval);
	}
break;
case 74:
#line 362 "parser.y"
{
          bx_dbg_print_stack_command(16);
          free(yyvsp[-1].sval);
	  }
break;
case 75:
#line 367 "parser.y"
{
          bx_dbg_print_stack_command(yyvsp[-1].uval);
          free(yyvsp[-2].sval);
	  }
break;
case 76:
#line 375 "parser.y"
{
          watchpoint_continue = 0;
	  fprintf(stderr, "Will stop on watch points\n");
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 77:
#line 381 "parser.y"
{
          watchpoint_continue = 1;
          fprintf(stderr, "Will not stop on watch points (they will still be logged)\n");
          free(yyvsp[-2].sval); free(yyvsp[-1].sval);
          }
break;
case 78:
#line 387 "parser.y"
{
          bx_dbg_watch(-1, 0);
          free(yyvsp[-1].sval);
          }
break;
case 79:
#line 392 "parser.y"
{
          bx_dbg_unwatch(-1, 0);
          free(yyvsp[-1].sval);
          }
break;
case 80:
#line 397 "parser.y"
{
          bx_dbg_watch(1, yyvsp[-1].uval);
          free(yyvsp[-3].sval); free(yyvsp[-2].sval);
          }
break;
case 81:
#line 402 "parser.y"
{
          bx_dbg_unwatch(1, yyvsp[-1].uval);
          free(yyvsp[-3].sval); free(yyvsp[-2].sval);
          }
break;
case 82:
#line 407 "parser.y"
{
          bx_dbg_watch(0, yyvsp[-1].uval);
          free(yyvsp[-3].sval); free(yyvsp[-2].sval);
          }
break;
case 83:
#line 412 "parser.y"
{
          bx_dbg_unwatch(0, yyvsp[-1].uval);
          free(yyvsp[-3].sval); free(yyvsp[-2].sval);
          }
break;
case 84:
#line 420 "parser.y"
{
	bx_dbg_symbol_command(yyvsp[-1].sval, 0, 0);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 85:
#line 425 "parser.y"
{
	bx_dbg_symbol_command(yyvsp[-2].sval, 0, yyvsp[-1].uval);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 86:
#line 430 "parser.y"
{
	bx_dbg_symbol_command(yyvsp[-2].sval, 1, yyvsp[-1].uval);
        free(yyvsp[-4].sval); free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 87:
#line 438 "parser.y"
{
        bx_dbg_where_command();
        free(yyvsp[-1].sval);
        }
break;
case 88:
#line 446 "parser.y"
{
        bx_dbg_print_string_command(yyvsp[-1].uval);
        free(yyvsp[-2].sval);
        }
break;
case 89:
#line 454 "parser.y"
{
        bx_dbg_continue_command();
        free(yyvsp[-1].sval);
        }
break;
case 90:
#line 462 "parser.y"
{
        bx_dbg_stepN_command(1);
        free(yyvsp[-1].sval);
        }
break;
case 91:
#line 467 "parser.y"
{
        bx_dbg_stepN_command(yyvsp[-1].uval);
        free(yyvsp[-2].sval);
        }
break;
case 92:
#line 475 "parser.y"
{
        bx_dbg_step_over_command();
        free(yyvsp[-1].sval);
        }
break;
case 93:
#line 483 "parser.y"
{
        bx_dbg_set_command(yyvsp[-3].sval, yyvsp[-2].sval, yyvsp[-1].sval);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 94:
#line 488 "parser.y"
{
        bx_dbg_set_command(yyvsp[-3].sval, yyvsp[-2].sval, yyvsp[-1].sval);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 95:
#line 493 "parser.y"
{
        bx_dbg_set_symbol_command(yyvsp[-3].sval, yyvsp[-1].uval);
        free(yyvsp[-4].sval); free(yyvsp[-3].sval);
        }
break;
case 96:
#line 501 "parser.y"
{
        bx_dbg_vbreakpoint_command(bkAtIP, 0, 0);
        free(yyvsp[-1].sval);
        }
break;
case 97:
#line 506 "parser.y"
{
        bx_dbg_vbreakpoint_command(bkRegular, yyvsp[-3].ulval, yyvsp[-1].ulval);
        free(yyvsp[-4].sval);
        }
break;
case 98:
#line 511 "parser.y"
{
        bx_dbg_lbreakpoint_command(bkAtIP, 0);
        free(yyvsp[-1].sval);
        }
break;
case 99:
#line 516 "parser.y"
{
        bx_dbg_lbreakpoint_command(bkRegular, yyvsp[-1].ulval);
        free(yyvsp[-2].sval);
        }
break;
case 100:
#line 521 "parser.y"
{
        bx_dbg_lbreakpoint_symbol_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval);free(yyvsp[-1].sval);
        }
break;
case 101:
#line 526 "parser.y"
{
        bx_dbg_pbreakpoint_command(bkAtIP, 0);
        free(yyvsp[-1].sval);
        }
break;
case 102:
#line 531 "parser.y"
{
        bx_dbg_pbreakpoint_command(bkRegular, yyvsp[-1].ulval);
        free(yyvsp[-2].sval);
        }
break;
case 103:
#line 536 "parser.y"
{
        bx_dbg_pbreakpoint_command(bkRegular, yyvsp[-1].ulval);
        free(yyvsp[-3].sval);
        }
break;
case 104:
#line 544 "parser.y"
{
        bx_dbg_info_bpoints_command();
        free(yyvsp[-1].sval);
        }
break;
case 105:
#line 552 "parser.y"
{
        bx_dbg_info_symbols_command(0);
        free(yyvsp[-1].sval);
        }
break;
case 106:
#line 557 "parser.y"
{
        bx_dbg_info_symbols_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval);free(yyvsp[-1].sval);
        }
break;
case 107:
#line 565 "parser.y"
{
        bx_dbg_info_bpoints_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 108:
#line 570 "parser.y"
{
        bx_dbg_dump_cpu_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 109:
#line 575 "parser.y"
{
        bx_dbg_info_program_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 110:
#line 580 "parser.y"
{
        bx_dbg_info_registers_command(BX_INFO_CPU_REGS);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 111:
#line 585 "parser.y"
{
        bx_dbg_info_registers_command(BX_INFO_FPU_REGS);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 112:
#line 590 "parser.y"
{
        bx_dbg_info_registers_command(BX_INFO_CPU_REGS | BX_INFO_FPU_REGS);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 113:
#line 595 "parser.y"
{
        bx_dbg_info_dirty_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
	}
break;
case 114:
#line 600 "parser.y"
{
        bx_dbg_info_idt_command(yyvsp[-1].uval_range);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 115:
#line 605 "parser.y"
{
       bx_dbg_info_ivt_command(yyvsp[-1].uval_range);
       free(yyvsp[-3].sval); free(yyvsp[-2].sval);
       }
break;
case 116:
#line 610 "parser.y"
{
        bx_dbg_info_gdt_command(yyvsp[-1].uval_range);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 117:
#line 615 "parser.y"
{
        bx_dbg_info_ldt_command(yyvsp[-1].uval_range);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 118:
#line 620 "parser.y"
{
        bx_dbg_info_tss_command(yyvsp[-1].uval_range);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 119:
#line 625 "parser.y"
{
        bx_dbg_info_flags();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 120:
#line 630 "parser.y"
{
        bx_dbg_info_linux_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 121:
#line 635 "parser.y"
{
        bx_dbg_info_symbols_command(0);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 122:
#line 640 "parser.y"
{
        bx_dbg_info_symbols_command(yyvsp[-1].sval);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 123:
#line 645 "parser.y"
{
        bx_dbg_info_control_regs_command();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 124:
#line 650 "parser.y"
{
        bx_dbg_info_ne2k(-1, -1);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 125:
#line 655 "parser.y"
{
        free(yyvsp[-4].sval); free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        bx_dbg_info_ne2k(yyvsp[-1].uval, -1);
        }
break;
case 126:
#line 660 "parser.y"
{
        free(yyvsp[-6].sval); free(yyvsp[-5].sval); free(yyvsp[-4].sval); free(yyvsp[-2].sval);
        bx_dbg_info_ne2k(yyvsp[-3].uval, yyvsp[-1].uval);
        }
break;
case 127:
#line 665 "parser.y"
{
        bx_dbg_info_pic();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 128:
#line 670 "parser.y"
{
        bx_dbg_info_vga();
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 129:
#line 677 "parser.y"
{ yyval.uval = EMPTY_ARG; }
break;
case 131:
#line 681 "parser.y"
{ yyval.uval_range = make_num_range (EMPTY_ARG, EMPTY_ARG); }
break;
case 133:
#line 686 "parser.y"
{
    yyval.uval_range = make_num_range (yyvsp[0].ulval, yyvsp[0].ulval);
  }
break;
case 134:
#line 691 "parser.y"
{
    yyval.uval_range = make_num_range (yyvsp[-1].ulval, yyvsp[0].ulval);
  }
break;
case 135:
#line 698 "parser.y"
{
        bx_dbg_dump_cpu_command();
        free(yyvsp[-1].sval);
        }
break;
case 136:
#line 706 "parser.y"
{
        bx_dbg_del_breakpoint_command(yyvsp[-1].uval);
        free(yyvsp[-2].sval);
        }
break;
case 137:
#line 714 "parser.y"
{
        bx_dbg_en_dis_breakpoint_command(yyvsp[-1].uval, 1);
        free(yyvsp[-2].sval);
       }
break;
case 138:
#line 721 "parser.y"
{
        bx_dbg_en_dis_breakpoint_command(yyvsp[-1].uval, 0);
        free(yyvsp[-2].sval);
       }
break;
case 139:
#line 729 "parser.y"
{
	  bx_dbg_quit_command();
	  free(yyvsp[-1].sval);
        }
break;
case 140:
#line 738 "parser.y"
{
        bx_dbg_examine_command(yyvsp[-3].sval, yyvsp[-2].sval,1, yyvsp[-1].ulval,1, 0);
#if BX_NUM_SIMULATORS >= 2
        bx_dbg_examine_command(yyvsp[-3].sval, yyvsp[-2].sval,1, yyvsp[-1].ulval,1, 1);
#endif
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 141:
#line 746 "parser.y"
{
        bx_dbg_examine_command(yyvsp[-2].sval, yyvsp[-1].sval,1, 0,0, 0);
#if BX_NUM_SIMULATORS >= 2
        bx_dbg_examine_command(yyvsp[-2].sval, yyvsp[-1].sval,1, 0,0, 1);
#endif
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 142:
#line 754 "parser.y"
{
        /*FIXME HanishKVC This method of hunting thro all the */
        /*      simulators may be better than using 2 calls if */
        /*      BX_NUM_SIMULATORS greater than or equal to 2 as */
        /*      done for other cases of BX_TOKEN_EXAMINE*/
        int iCurSim; 
        for(iCurSim = 0; iCurSim < BX_NUM_SIMULATORS; iCurSim++)
        {
          bx_dbg_examine_command(yyvsp[-2].sval, NULL,0, yyvsp[-1].ulval,1, iCurSim);
        }
        free(yyvsp[-2].sval);
        }
break;
case 143:
#line 767 "parser.y"
{
        /*FIXME HanishKVC This method of hunting thro all the */
        /*      simulators may be better than using 2 calls if */
        /*      BX_NUM_SIMULATORS greater than or equal to 2 as */
        /*      done for other cases of BX_TOKEN_EXAMINE*/
        int iCurSim; 
        for(iCurSim = 0; iCurSim < BX_NUM_SIMULATORS; iCurSim++)
        {
          bx_dbg_examine_command(yyvsp[-1].sval, NULL,0, 0,0, iCurSim);
        }
        free(yyvsp[-1].sval);
        }
break;
case 144:
#line 783 "parser.y"
{
        bx_dbg_setpmem_command(yyvsp[-3].uval, yyvsp[-2].uval, yyvsp[-1].uval);
        free(yyvsp[-4].sval);
        }
break;
case 145:
#line 791 "parser.y"
{
        bx_dbg_query_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 146:
#line 799 "parser.y"
{
        bx_dbg_take_command(yyvsp[-1].sval, 1);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 147:
#line 804 "parser.y"
{
        bx_dbg_take_command(yyvsp[-2].sval, yyvsp[-1].uval);
        free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 148:
#line 809 "parser.y"
{
        bx_dbg_take_command(yyvsp[-1].sval, 1);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 149:
#line 817 "parser.y"
{
        bx_dbg_set_cpu_command();
        free(yyvsp[-1].sval);
        }
break;
case 150:
#line 825 "parser.y"
{
        bx_dbg_disassemble_command(NULL, yyvsp[-1].uval_range);
        free(yyvsp[-2].sval);
        }
break;
case 151:
#line 830 "parser.y"
{
        bx_dbg_disassemble_command(yyvsp[-2].sval, yyvsp[-1].uval_range);
	free(yyvsp[-3].sval); free(yyvsp[-2].sval);
        }
break;
case 152:
#line 838 "parser.y"
{
        bx_dbg_instrument_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 153:
#line 843 "parser.y"
{
        bx_dbg_instrument_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 154:
#line 848 "parser.y"
{
        bx_dbg_instrument_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 155:
#line 853 "parser.y"
{
        bx_dbg_instrument_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 156:
#line 861 "parser.y"
{
        bx_dbg_loader_command(yyvsp[-1].sval);
        free(yyvsp[-2].sval); free(yyvsp[-1].sval);
        }
break;
case 157:
#line 869 "parser.y"
{
        bx_dbg_doit_command(yyvsp[-1].uval);
        free(yyvsp[-2].sval);
        }
break;
case 158:
#line 877 "parser.y"
{
        bx_dbg_crc_command(yyvsp[-2].uval, yyvsp[-1].uval);
        free(yyvsp[-3].sval);
        }
break;
case 159:
#line 885 "parser.y"
{
	bx_dbg_trace_reg_on_command();
	free(yyvsp[-1].sval);
	}
break;
case 160:
#line 893 "parser.y"
{
	bx_dbg_trace_reg_off_command();
	free(yyvsp[-1].sval);
	}
break;
case 161:
#line 901 "parser.y"
{
         bx_dbg_help_command(yyvsp[-1].sval);
         free(yyvsp[-2].sval);free(yyvsp[-1].sval);
         }
break;
case 162:
#line 906 "parser.y"
{
         bx_dbg_help_command(0);
         free(yyvsp[-1].sval);
         }
break;
case 163:
#line 914 "parser.y"
{
     bx_dbg_calc_command(yyvsp[-1].ulval);
     free(yyvsp[-2].sval);
     }
break;
case 179:
#line 937 "parser.y"
{ yyval.reg=yyvsp[0].reg; }
break;
case 183:
#line 945 "parser.y"
{ yyval.reg=yyvsp[0].reg; }
break;
case 189:
#line 955 "parser.y"
{ yyval.reg=yyvsp[0].reg; }
break;
case 192:
#line 962 "parser.y"
{ yyval.reg=yyvsp[0].reg; }
break;
case 193:
#line 967 "parser.y"
{ yyval.ulval = yyvsp[0].uval; }
break;
case 194:
#line 968 "parser.y"
{ yyval.ulval = yyvsp[0].ulval; }
break;
case 195:
#line 969 "parser.y"
{ yyval.ulval = bx_dbg_get_reg_value(yyvsp[0].reg); }
break;
case 196:
#line 970 "parser.y"
{ yyval.ulval = bx_dbg_get_selector_value(yyvsp[0].uval); }
break;
case 197:
#line 971 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval + yyvsp[0].ulval; }
break;
case 198:
#line 972 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval - yyvsp[0].ulval; }
break;
case 199:
#line 973 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval * yyvsp[0].ulval; }
break;
case 200:
#line 974 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval / yyvsp[0].ulval; }
break;
case 201:
#line 975 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval >> yyvsp[0].ulval; }
break;
case 202:
#line 976 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval << yyvsp[0].ulval; }
break;
case 203:
#line 977 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval | yyvsp[0].ulval; }
break;
case 204:
#line 978 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval ^ yyvsp[0].ulval; }
break;
case 205:
#line 979 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval & yyvsp[0].ulval; }
break;
case 206:
#line 980 "parser.y"
{ yyval.ulval = !yyvsp[0].ulval; }
break;
case 207:
#line 981 "parser.y"
{ yyval.ulval = -yyvsp[0].ulval; }
break;
case 208:
#line 982 "parser.y"
{ yyval.ulval = yyvsp[-1].ulval; }
break;
case 209:
#line 987 "parser.y"
{ yyval.ulval = yyvsp[0].uval; }
break;
case 210:
#line 988 "parser.y"
{ yyval.ulval = yyvsp[0].ulval; }
break;
case 211:
#line 989 "parser.y"
{ yyval.ulval = bx_dbg_get_symbol_value(yyvsp[0].sval); free(yyvsp[0].sval);}
break;
case 212:
#line 990 "parser.y"
{ yyval.ulval = bx_dbg_get_reg_value(yyvsp[0].reg);}
break;
case 213:
#line 991 "parser.y"
{ yyval.ulval = bx_dbg_get_selector_value(yyvsp[0].uval);}
break;
case 214:
#line 992 "parser.y"
{ yyval.ulval = bx_dbg_get_laddr (yyvsp[-2].ulval, yyvsp[0].ulval); }
break;
case 215:
#line 993 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval + yyvsp[0].ulval; }
break;
case 216:
#line 994 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval - yyvsp[0].ulval; }
break;
case 217:
#line 995 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval * yyvsp[0].ulval; }
break;
case 218:
#line 996 "parser.y"
{ yyval.ulval = (yyvsp[0].ulval != 0) ? yyvsp[-2].ulval / yyvsp[0].ulval : 0; }
break;
case 219:
#line 997 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval >> yyvsp[0].ulval; }
break;
case 220:
#line 998 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval << yyvsp[0].ulval; }
break;
case 221:
#line 999 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval | yyvsp[0].ulval; }
break;
case 222:
#line 1000 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval ^ yyvsp[0].ulval; }
break;
case 223:
#line 1001 "parser.y"
{ yyval.ulval = yyvsp[-2].ulval & yyvsp[0].ulval; }
break;
case 224:
#line 1002 "parser.y"
{ yyval.ulval = !yyvsp[0].ulval; }
break;
case 225:
#line 1003 "parser.y"
{ yyval.ulval = -yyvsp[0].ulval; }
break;
case 226:
#line 1004 "parser.y"
{ yyval.ulval = yyvsp[-1].ulval; }
break;
case 227:
#line 1009 "parser.y"
{ bx_dbg_set_reg_value(yyvsp[-3].reg, yyvsp[-1].ulval); }
break;
#line 2358 "y.tab.c"
    }
    yyssp -= yym;
    yystate = *yyssp;
    yyvsp -= yym;
    yym = yylhs[yyn];
    if (yystate == 0 && yym == 0)
    {
#if YYDEBUG
        if (yydebug)
            printf("%sdebug: after reduction, shifting from state 0 to\
 state %d\n", YYPREFIX, YYFINAL);
#endif
        yystate = YYFINAL;
        *++yyssp = YYFINAL;
        *++yyvsp = yyval;
        if (yychar < 0)
        {
            if ((yychar = yylex()) < 0) yychar = 0;
#if YYDEBUG
            if (yydebug)
            {
                yys = 0;
                if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                if (!yys) yys = "illegal-symbol";
                printf("%sdebug: state %d, reading %d (%s)\n",
                        YYPREFIX, YYFINAL, yychar, yys);
            }
#endif
        }
        if (yychar == 0) goto yyaccept;
        goto yyloop;
    }
    if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
        yystate = yytable[yyn];
    else
        yystate = yydgoto[yym];
#if YYDEBUG
    if (yydebug)
        printf("%sdebug: after reduction, shifting from state %d \
to state %d\n", YYPREFIX, *yyssp, yystate);
#endif
    if (yyssp >= yyss + yystacksize - 1)
    {
        goto yyoverflow;
    }
    *++yyssp = yystate;
    *++yyvsp = yyval;
    goto yyloop;
yyoverflow:
    yyerror("yacc stack overflow");
yyabort:
    return (1);
yyaccept:
    return (0);
}
#endif  /* if BX_DEBUGGER */
/* The #endif is appended by the makefile after running yacc. */
